From: Jeroen van der Heijden Date: Thu, 17 May 2018 09:46:24 +0000 (+0200) Subject: Fix last() and update test X-Git-Tag: archive/raspbian/2.0.44-1+rpi1~1^2~3^2~9^2~32^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=db7825383aac94414111a8e478d3a284ae418b45;p=siridb-server.git Fix last() and update test --- diff --git a/src/siri/db/series.c b/src/siri/db/series.c index 6620217e..4d21f0f1 100644 --- a/src/siri/db/series.c +++ b/src/siri/db/series.c @@ -867,8 +867,8 @@ siridb_points_t * siridb_series_get_last( } /* string type does not have a buffer so we don't have to worry */ - points->data->ts = buf->data->ts; - points->data->val = buf->data->val; + points->data->ts = point->ts; + points->data->val = point->val; points->len = 1; return points; } diff --git a/test/test_select.py b/test/test_select.py index 9d64a2f0..625ffe16 100644 --- a/test/test_select.py +++ b/test/test_select.py @@ -309,6 +309,25 @@ class TestSelect(TestBase): await self.client0.query('select derivative() from "equal ts"') + self.assertEqual( + await self.client0.query('select first() from *'), + {k: [v[0]] for k, v in DATA.items()}) + + self.assertEqual( + await self.client0.query('select last() from *'), + {k: [v[-1]] for k, v in DATA.items()}) + + self.assertEqual( + await self.client0.query('select count() from *'), + {k: [[v[-1][0], len(v)]] for k, v in DATA.items()}) + + print(sum([x[1] for x in DATA['aggr']]) / len(DATA['aggr'])) + self.assertEqual( + await self.client0.query('select mean() from "aggr"'), + {'aggr': [[ + DATA['aggr'][-1][0], + sum([x[1] for x in DATA['aggr']]) / len(DATA['aggr'])]]}) + # test prefix, suffex result = await self.client0.query( 'select sum(1d) prefix "sum-" suffix "-sum", '